buf_key_code>>=1 是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:00:20

buf_key_code>>=1可以写成buf_key_code = buf_key_code>>1
按照运算符的优先级,可以分两步:
1.编译器先计算“>>”,也就是右移运算符,注意,是二进制位的右移,相当于除以2。
2.然后编译器计算“=”运算符,将右移的计算结果重新赋值给buf_key_code。
如果还有不清楚的,请补充叙述。

这是一个双目运算符(位运算赋值运算符)
例如:a<<=2等价于
a=a<<2意思是a左移两位再赋值给a
和你提出问题的意思是一样的

buf_key_code = buf_key_code>>1;
buf_key_code向右移一位